
from .tencent_ocr import TencentOCR
from fastmcp import FastMCP


def add_tencent_tools(mcp: FastMCP):

    @mcp.tool()
    async def general_ocr(
            img_url: str,
    ):
        """通用文字识别
        Args:
            img_url: 文本图片的url地址。
        Returns:
            Dict: 文本的检测框位置及内容等信息。
        """
        tencent = TencentOCR()
        data = tencent.general_ocr(img_url)
        return data

    @mcp.tool()
    async def table_ocr(
            img_url: str,
    ):
        """表格文字识别
        Args:
            img_url: 表格图片的url地址。
        Returns:
            Dict: 表格的文本解析信息。
        """
        tencent = TencentOCR()
        data = tencent.table_ocr(img_url)
        return data

    @mcp.tool()
    async def latex_ocr(
            img_url: str,
    ):
        """数学公式文字识别
        Args:
            img_url: 公式图片的url地址。
        Returns:
            Dict: 识别出的latex公式源码信息。
        """
        tencent = TencentOCR()
        data = tencent.latex_ocr(img_url)
        return data


    @mcp.tool()
    async def invoice_ocr(
            img_url: str,
    ):
        """通用票据识别
        Args:
            img_url: 票据图片的url地址。
        Returns:
            Dict: 票据的解析结果。
        """
        tencent = TencentOCR()
        data = tencent.invoice_ocr(img_url)
        return data


    @mcp.tool()
    async def vat_invoice_ocr(
            img_url: str,
    ):
        """增值税发票识别
        Args:
            img_url: 增值税发票的url地址。
        Returns:
            Dict: 增值税发票的解析结果。
        """
        tencent = TencentOCR()
        data = tencent.vat_invoice_ocr(img_url)
        return data